using Rdl;

namespace GTame.ReportParser
{

    public class ReportItemsTypeSingle
    {

        private ChartType _Chart;
        private CustomReportItemType _CustomReportItem;
        private ImageType _Image;
        private LineType _Line;
        private ListType _List;
        private MatrixType _Matrix;
        private RectangleType _Rectangle;
        private SubreportType _Subreport;
        private TableType _Table;
        private TextboxType _Textbox;

        public ChartType Chart
        {
            get
            {
                if (_Chart == null)
                    _Chart = new ChartType();
                return _Chart;
            }
            set
            {
                _Chart = value;
            }
        }

        public CustomReportItemType CustomReportItem
        {
            get
            {
                if (_CustomReportItem == null)
                    _CustomReportItem = new CustomReportItemType();
                return _CustomReportItem;
            }
            set
            {
                _CustomReportItem = value;
            }
        }

        public ImageType Image
        {
            get
            {
                if (_Image == null)
                    _Image = new ImageType();
                return _Image;
            }
            set
            {
                _Image = value;
            }
        }

        public LineType Line
        {
            get
            {
                if (_Line == null)
                    _Line = new LineType();
                return _Line;
            }
            set
            {
                _Line = value;
            }
        }

        public ListType List
        {
            get
            {
                if (_List == null)
                    _List = new ListType();
                return _List;
            }
            set
            {
                _List = value;
            }
        }

        public MatrixType Matrix
        {
            get
            {
                if (_Matrix == null)
                    _Matrix = new MatrixType();
                return _Matrix;
            }
            set
            {
                _Matrix = value;
            }
        }

        public RectangleType Rectangle
        {
            get
            {
                if (_Rectangle == null)
                    _Rectangle = new RectangleType();
                return _Rectangle;
            }
            set
            {
                _Rectangle = value;
            }
        }

        public SubreportType Subreport
        {
            get
            {
                if (_Subreport == null)
                    _Subreport = new SubreportType();
                return _Subreport;
            }
            set
            {
                _Subreport = value;
            }
        }

        public TableType Table
        {
            get
            {
                if (_Table == null)
                    _Table = new TableType();
                return _Table;
            }
            set
            {
                _Table = value;
            }
        }

        public TextboxType Textbox
        {
            get
            {
                if (_Textbox == null)
                    _Textbox = new TextboxType();
                return _Textbox;
            }
            set
            {
                _Textbox = value;
            }
        }

        public ReportItemsTypeSingle()
        {
        }

        public ReportItemsType Write()
        {
            // trial
            return null;
        }

    } // class ReportItemsTypeSingle

}

